package dao;


import java.util.ArrayList;

/** 
 * Interface IDaoFormation offrant les services d'accès aux données pour les formations.
 * @param <T>
 */
public interface IDao<T>{
/**
 * Fournit la liste de toutes les formations.
 * @param <T>
 * @return	ArrayList<T> 
 * @see		IDao
*/
	public ArrayList<T> getAll();
/**
 * Fournit un objet Collaborateur/Contrat/Tâche d'après son id.
 * @param	unId	un identifiant
 * @return	T		l'objet Collaborateur/Contrat/Tâche
 * @see		IDao
*/
	public T getOne(int unId);
	
/**
 * Crée l'objet Collaborateur/Contrat/Tâche unObjet et le rend persistant.
 * La formation créée est retournée, l'identifiant ayant été valorisé. 
 * @param	unObjet	l'objet Collaborateur/Contrat/Tâche à créer
 * @return	T		l'objet Collaborateur/Contrat/Tâche créé
 * @see		IDao
*/
	public T create(T unObjet);
/**
 * Met à jour l'objet Collaborateur/Contrat/Tâche unObjet dans la couche de persistance.
 * la formation modifiée est retourneé. 
 * @param	unObjet	l'objet Collaborateur/Contrat/Tâche à modifier
 * @return	T		l'objet Collaborateur/Contrat/Tâche modifié
 * @see 	IDao
*/
	public T update(T unObjet);
/**
 * Supprime l'objet Collaborateur/Contrat/Tâche unObjet dans la couche de persistance.
 * @param	unObjet	l'objet Collaborateur/Contrat/Tâche à supprimer
 * @see 	IDao
*/
	public void delete(T unObjet);
	
}